<html>
	<head>
		<style type="text/css">
			/* <![CDATA[ */ 
			@import "http://www.tigris.org/branding/css/tigris.css"; 
			@import "http://www.tigris.org/branding/css/inst.css"; 
			/*  ]]> */
		</style>
		<link rel="stylesheet" type="text/css" href="http://www.tigris.org/branding/css/print.css" media="print" />
		<script src="http://www.tigris.org/branding/scripts/tigris.js" type="text/javascript"/>
		<title>Atlas Project Overview</title>
	</head>
	
	<body>
		<div class="h2 app" style="border-left: 0px" id="customcontent">
			<h2>Future Direction Overview</h2>
			<p>
				Atlas will continue to evolve to adapt to the changing needs of enterprise applications.  These needs will be identified by the Atlas
				community through enhancement and feature requests.  Initially the evolution of Atlas will be geared around further solidifying the 
				platform for future resiliency. This will mean even further decoupling from third-party components to better facilitate plug-ability of
				the underlying implementations of the key architectural mechanisms.  Beyond that we have plans to enable UML to be used as the 
				platform independent model (PIM) representation.
			</p>
			
			<h2>Evolution of Component Architecture</h2>
			<p>
				Currently, Atlas has dependencies on several other open source libraries in the atlas-core component.  This is a result of our
				initial design decisions for how to provision the implementations for the key architectural mechanisms provided by Atlas.  For example,
				Hibernate was chosen to implement the persistency mechanism, Spring was selected to implement the factory and other creational
				patterns, and Struts was chosen for the model-view-controller pattern.  In addition, the atlas-mda code generation engine is pretty much
				geared around these initial design decisions.
			</p>
				
			<p>
				All of these have proven to be highly reliable decisions.  However, new application needs continually emerge as do new technologies to 
				address those needs.  In the next releases of Atlas, developers can expect to see looser coupling between atlas-core and the underlying 
				implementations.  This should not be read as Atlas will provide a way to generate source code based on every open source library 
				out there.  Rather, the intent is to provide the Atlas development team a more coherent way to evolve the Atlas project in a minimally 
				disruptive way; plus it will provide consumers of Atlas a much cleaner upgrade path thus decreasing the maintenance costs of using Atlas.
			</p>
			
			<h2>Visual Modeling</h2>
			<p>
				In its current implementation, Atlas will vastly improve developer productivity and increase product quality.  The Atlas-based metadata 
				enables developers to raise the level of abstraction at which they operate and provides a much clearer traceability back to the 
				application requirements.
			</p>
				
			<p>
				That said, the Atlas metadata is not an industry standard.  To address this, future releases of Atlas will incorporate visual modeling
				tooling based on an industry standard like UML.  This model representation should be more familiar to designers and developers and increase
				productivity even further.  While these changes may not happen in the very short term, users of Atlas may rest assured that the introduction
				of these capabilities will require minimal, if any, re-work of their Atlas-based applications.
			</p>
			
		</div>
	</body>
</html>
